package com.fumin.common;

import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回给前台的JSON数据构成
 * @Author xiayuxuanmin
 * @Date 2019/10/10
 * @Description
 */
@Getter
@Setter
public class JsonData {

    /**
     * 返回成功或者失败的结果
     */
    private boolean ret;

    /**
     * 返回通知信息
     */
    private String msg;

    /**
     * 返回给前台的数据
     */
    private Object data;

    public JsonData (boolean ret){
        this.ret = ret;
    }

    /**
     * 返回成功的处理
     * @param data 需要传递给前台的数据
     * @param msg 传递给前台的通知信息
     * @return
     */
    public static JsonData success(Object data,String msg){
        JsonData jsonData = new JsonData(true);
        jsonData.data = data;
        jsonData.msg = msg;
        return jsonData;
    }

    /**
     * 返回成功的处理
     * @param data 需要传递给前台的数据
     * @return
     */
    public static JsonData success(Object data){
        JsonData jsonData = new JsonData(true);
        jsonData.data = data;
        return jsonData;
    }

    /**
     * 返回成功的处理
     * @return
     */
    public static JsonData success(){
        JsonData jsonData = new JsonData(true);
        return jsonData;
    }

    /**
     * 返回失败的处理
     * @return
     */
    public static JsonData fail(String msg){
        JsonData jsonData = new JsonData(false);
        jsonData.msg = msg;
        return jsonData;
    }

    /**
     * 把JsonData的各个属性拼接为map返回
     * @return
     */
    public Map<String,Object> toMap(){
        Map<String,Object> resultMap = new HashMap<>();
        resultMap.put("ret",ret);
        resultMap.put("msg",msg);
        resultMap.put("data",data);
        return resultMap;
    }
}
